/*
 * system-api.h
 *
 *  Created on: 2017年3月24日
 *      Author: zhikang.peng
 */

#ifndef APP_SYSTEM_API_H_
#define APP_SYSTEM_API_H_ 1

void api_putchar(int c);
void api_end();
void api_putstr(char *s);
/**
 * 描绘窗体
 * buf 窗口缓冲区
 * xsize 窗口宽度
 * ysize 窗口高度
 * col_inv 透明色
 * title 窗口名称
 */
int api_openwindos(char *buf, int xsize, int ysize, int col_inv, char *title);
/**
 * 显示字符串
 *	win 窗体句柄
 *	x 显示位置的x坐标
 *	y 显示位置的y坐标
 *	col 色号
 *	len 字符串长度
 *	str 字符串
 */
void api_putwindostext(int win, int x, int y, int col, int len, char *str);
/**
 * 绘制方块
 * win 窗体句柄
 * x0 x轴开始位置
 * y0 y轴开始位置
 * x1 x轴结束位置
 * y1 y轴结束位置
 * col 色号
 */
void api_boxwindosfill(int win, int x0, int y0, int x1, int y1, int col);
/**
 * 绘制直线
 * win 窗体句柄
 * x0 x轴开始位置
 * y0 y轴开始位置
 * x1 x轴结束位置
 * y1 y轴结束位置
 * col 色号
 */
void api_drawLine(int win, int x0, int y0, int x1, int y1, int col);
void api_point(int win, int x, int y, int col);
void api_refrechwin(int win, int x0, int y0, int x1, int y1);
void api_closeWindos(int win);

/**
 *	memman初始化
 */
void api_initmalloc(void);
char *api_malloc(int size);
void api_free(char *addr, int size);
/**获取键盘数据*/
int api_getKeyboardData(int mode);

/**定时器*/
int api_allocTimer(void);
void api_initTimer(int timer, int data);
void api_setTimer(int timer, int time);
void api_freeTimer(int timer);
void api_beep(int tone);

int api_cmdline(char *buf, int size);
#endif /* APP_SYSTEM_API_H_ */
